Broadcast communications between a source component, such as a server, and a node device, such as a client, are commonly used to communicate content to authorized users. Broadcast communications may also be used to transmit pirated content. Pirated content refers to the act of copyright infringement including, but not limited to, the use of peer-to-peer file sharing networks to access content by unauthorized users.
Most video, audio, and video-audio streams are broadcast to client or “node” devices capable of receiving and interpreting the signal. Servers are used to customize these data streams on a large scale for each web-based user and set-top box user. Encryption is commonly used by these servers to prevent piracy.
Encryption is the process of encoding messages or information in such a way that hackers cannot read the messages, but that authorized parties can access the content. In an encryption scheme, the message or information, referred to as “plaintext,” is encrypted using an encryption algorithm, turning it into an unreadable “ciphertext.” This is usually done with the use of an encryption key, which specifies how the message is to be encoded. Any adversary that can see the ciphertext should not be able to determine anything about the original message. An authorized party, however, is able to decode the ciphertext using a decryption algorithm, that usually requires a secret decryption key, that “pirates” do not have access to. For technical reasons, an encryption scheme uses a key-generation algorithm to randomly produce keys.
There are two basic types of encryption schemes: Symmetric-key and asymmetric-key encryption which includes public-key encryption. In symmetric-key schemes, the encryption and decryption keys are the same. Thus, communicating parties must agree on a secret key before they wish to communicate. In public-key schemes, the encryption key is published for anyone to use and encrypt messages. However, only the receiving party has access to the private decryption key and is capable of reading the encrypted messages. Public-key encryption is a relatively recent invention. Historically, all electronic encryption schemes have been symmetric-key (also called private-key) schemes.
There are limitations to currently used encryption system and methods. The main problem with present day encryption systems is that they use a cipher and a decryption key that can be found using a decryption algorithm. Once the decryption key is found, other unauthorized users are informed of the decryption key and then the unauthorized user can read any message encrypted with the key “k” and cipher “c.” Although many modern ciphers claim that the number of keys in the key space (|K|) is so large that the probability of locating the correct is so remote as to render the message totally secure. However, this is not the case. Modern ciphers are broken with sufficient regularity as to question the security of the message. Therefore, an encryption alone is not sufficient to guarantee security. Another factor must be used to connect the encryption to a single node.
In addition to encryption, broadcast communications between source components also utilize data compression. Data compression (also known as bit-rate reduction, source coding, or simply “compression”) is a method, algorithm, or process that produces a compressed file that attempts to represent the same data as an uncompressed file but in a smaller form. A goal of data compression is to produce a compressed file that occupies less storage space when stored and requires less bandwidth when transmitted.
Compression algorithms usually fall into two categories—those that operate over a predefined portion of a file, and those that operate over an entire file. Compression algorithms that operate over a predefined portion of a file include the MPEG-4 algorithm for video compression operates over a predefined portion of a video frame or video file. Compression algorithms that operate over an entire file include the Lempel-Ziv (also known as Lempel-Ziv-Welch or LZW) family of compression algorithms.
A disadvantage of compression algorithms that operate over a predefined portion of a file is that the algorithm fails to recognize and compress larger patterns in a file. Conversely, compression algorithms that operate over an entire file consider only the bulk of the file and cannot respond to discrete portions of a file that could benefit from a different compression algorithm.
Due in part to the drawbacks of these approaches, compression algorithms have been developed that recognize objects inside electronic files and separate them for time constrained optimal compression. However, the detection and isolation of objects for optimal compression requires time and computing effort that can often cause the compression to execute slowly.